Information management applications provide users with effective and convenient ways to communicate with others and manage their information. Examples of information management applications include but are not limited to email applications and calendar applications. Some information management applications integrate these various types of applications by way of modules, such as email, calendar, contact, and task modules, although each type of application or functionality may also be provided in a stand-alone manner. Microsoft® Outlook® is one example of an information management application.
While many information management applications are provided as locally installed and executed applications, many can be experienced in a wide variety of ways. For example, some information management applications are available as web-based applications that are experienced through a browser application, as mobile applications customized for mobile environments, or even as a mobile web-based application generally developed for a mobile browser experience. In addition, information management applications can be experienced on a wide variety of computing devices, such as desktop, laptop, or tablet computers, mobile phones, gaming systems, Internet appliances, or any other physical or virtual computing system, variation, or combination thereof.
In some scenarios, an information management application is first loaded into an execution environment, such as a web browser running on a computing device, before a user can begin to interact with it. In some cases an entire module, such as an email or calendar module, must be loaded before any of its components can be used. In other cases all of the modules must be loaded before any module or component can be used.
For example, a web-based version of an information management application may be invoked, triggering the loading of its components within a browser or other similar environment. A splash screen or other delay feature may be presented that keeps a user from interacting with the application until all of its components or modules are loaded. This degrades the user experience in general and can lead to some operational errors if the loading process is compromised or inhibited in some manner.
One benefit of loading all of the components of an application into an execution environment is that, once all of the components are loaded, interaction with any given aspect of the application may be fast and responsive. For example, a user may click on a contact from within a view of an email. In response to selecting the contact, a contact card can be displayed that includes information about the contact and various elements that can be selected to access various features and functionality. By loading all of the components associated with the elements in the contact card without restraint, the features and functionality can be experienced without significant delay. But as mentioned above, such a technique can degrade the user experience with respect to the application.